package cn.edu.seig.springks.service.Impl;

import cn.edu.seig.springks.dao.detailMapper;
import cn.edu.seig.springks.pojo.cart;
import cn.edu.seig.springks.pojo.order;
import cn.edu.seig.springks.pojo.product;
import cn.edu.seig.springks.service.detailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 实现详情页服务接口，提供产品详情、购买产品和加入购物车的具体业务逻辑
 */
@Service
public class detailServiceImpl implements detailService {

    @Autowired
    detailMapper detailMapper;

    /**
     * 根据产品ID获取产品详情
     *
     * @param p_id 产品ID
     * @return 返回产品对象，如果找不到则返回null
     */
    @Override
    public product getProduct(int p_id) {
        return detailMapper.selectProductsById(p_id);
    }

    /**
     * 购买产品，记录订单信息
     *
     * @param order 订单对象，包含购买产品信息和用户信息
     * @return 返回影响的行数，表示购买操作是否成功
     */
    @Override
    public int buyProduct(order order) {
        return detailMapper.buyProduct(order);
    }

    /**
     * 将产品加入购物车
     *
     * @param cart 购物车对象，包含产品信息和用户信息
     * @return 返回影响的行数，表示加入购物车操作是否成功
     */
    @Override
    public int insertCart(cart cart) {
        return detailMapper.insertCart(cart);
    }
}
